package com.base.thread.ch20;

public class MyException extends Exception {


    public MyException(String message) {
		super(message);
	}
	/*
	 * 重写fillInStackTrace方法会使得这个自定义的异常不会收集线程的整个异常栈信息，会大大
	 * 提高减少异常开销。
	 */
	@Override
	public synchronized Throwable fillInStackTrace() {
		return this;
	}
	public static void main(String[] args) {
		try {
			throw new MyException("由于MyException重写了fillInStackTrace方法，那么它不会收集线程运行栈信息。");
		} catch (MyException e) {
			e.printStackTrace(); // 在控制台的打印结果为：demo.blog.java.exception.MyException: 由于MyException重写了fillInStackTrace方法，那么它不会收集线程运行栈信息。
		}
	}
}